package com.xinggq.auth.service.service;

import com.xinggq.auth.api.dto.login.LoginRequest;
import com.xinggq.auth.api.dto.login.LoginResponse;
import com.xinggq.auth.api.dto.token.RefreshTokenRequest;

/**
 * @Description
 * @Author xinggq
 * @Date 2025/10/22
 */
public interface LoginManagerService {

  /**
   * 登入
   * @param loginRequest
   * @return
   */
  LoginResponse login(LoginRequest loginRequest);

  /**
   * 登出
   * @param token
   */
  void logout(String token);

  /**
   * 刷新令牌
   * @param refreshTokenRequest 刷新令牌请求
   * @return 新的登录响应信息
   */
  LoginResponse refreshToken(RefreshTokenRequest refreshTokenRequest);
}
